// --------------------------------------------
// 这是gulp的配置文件，这个文件决定了使用gulp时会对哪些less、js进行压缩编译处理
// gulpjs是一个前端构建工具，与gruntjs相比，gulpjs无需写一大堆繁杂的配置参数，API也非常简单，
// 学习起来很容易，而且gulpjs使用的是nodejs中stream来读取和操作数据，其速度更快。如果你还没有
// 使用过前端构建工具，或者觉得gruntjs太难用的话，那就尝试一下gulp吧。
//
//
//
// 安装并使用gulp
// 1、首先要安装node.js
// 2、将gulp安装到全局环境下，让你可以存取gulp的CLI。
//    $ npm install gulp -g
// 3、接著，需要在项目中进行安装
//    $ npm install gulp --save-dev
// 4、安装gulp插件以完成各种任务
//    $ sudo npm install gulp strftime gulp-less gulp-minify-css gulp-sourcemaps gulp-autoprefixer gulp-uglify  gulp-header gulp-rename gulp-livereload gulp-imports gulp-watch --save-dev
// 5、开启gulp大法
//    $ cd [你的项目目录]
//    $ gulp
// --------------------------------------------

var gulp = require('gulp');
var prefix = require('gulp-autoprefixer'); //补全浏览器兼容的css
var uglify = require('gulp-uglify'); //压缩JS
//var imagemin = require('gulp-imagemin'); //压缩图片
//var concat = require('gulp-concat'); //合并文件
var rename = require('gulp-rename'); //重命名文件
//var clean = require('gulp-clean'); //清理文件
//var less = require('gulp-less'); //编译Less
//var sass = require('gulp-ruby-sass'); //编译Sass
//var gutil = require('gulp-util'); //常用工具库
//var header     = require('gulp-header'); //添加头部
//var livereload = require('gulp-livereload'); //网页自动重载
//var notify = require('gulp-notify)'); //消息通知


// 定义项目相关路径
// --------------------------------------------
var THINKPHP = {
    PUB   : 'Public/',
    LIB   : 'Public/libs/',
    CSS   : 'Public/css/',
    JS    : 'Public/js/',
    BOWER : 'Public/bower_components/',
    STATIC: 'Public/static/'
};

gulp.task('build-static-single', function () {
    gulp.src([THINKPHP.BOWER + 'jquery/dist/jquery.min.js',
              THINKPHP.BOWER + 'html5shiv/dist/html5shiv.min.js',
              THINKPHP.BOWER + 'respond/dest/respond.min.js',
              THINKPHP.BOWER + 'lodash/dist/lodash.min.js'])
        .pipe(gulp.dest(THINKPHP.STATIC));

    gulp.src([THINKPHP.BOWER + 'jquery.cookie/jquery.cookie.js',
              THINKPHP.BOWER + 'jquery_lazyload/jquery.lazyload.js'])
        .pipe(uglify())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest(THINKPHP.STATIC));

    gulp.src([THINKPHP.BOWER + 'bootstrap/dist/*/*.min*',
              THINKPHP.BOWER + 'bootstrap/dist/fonts*/*'])
        .pipe(gulp.dest(THINKPHP.LIB + 'bootstrap'));

    gulp.src([THINKPHP.BOWER + 'font-awesome/css*/*.min*',
              THINKPHP.BOWER + 'font-awesome/fonts*/*'])
        .pipe(gulp.dest(THINKPHP.LIB + 'font-awesome'));

    gulp.src([THINKPHP.BOWER + 'animate.css/animate.min.css'])
        .pipe(gulp.dest(THINKPHP.LIB + 'animate'));

    gulp.src([THINKPHP.BOWER + 'nice-validator/dist/*',
              THINKPHP.BOWER + 'nice-validator/dist/*/*'])
        .pipe(gulp.dest(THINKPHP.LIB + 'nice-validator'));

    gulp.src([THINKPHP.BOWER + 'echarts/dist/*.min*',
              THINKPHP.BOWER + 'echarts/dist/*/*.min*'])
        .pipe(gulp.dest(THINKPHP.LIB + 'echarts'));
});

gulp.task('default', ['build-static-single']);